<?php
/**
 * @package   auto_occasion
 * @subpackage 
 * @author    CMS
 * @copyright  2011
 * @license    All rights reserved
 */

class rappelSrv {

     /**
     * Fonction permettant de sauvegarder les rappels d'un essai
     * @return object $rappel
     *
     */
    public function ajouter ($rappel) {
		// instanciation de la factory
        $maFactory = jDao::get("commun~ao_essais_rappel");
        $records   = jDao::createRecord("commun~ao_essais_rappel");

        $records->rappel_texte           = isset($rappel['content'])?$rappel['content']:'' ;
        $records->rappel_typeId          = $rappel['rappel_typeId'];
        $records->rappel_essai_id        = $rappel['iId'];
		
         if ($maFactory->insert($records)) {
            return $records->rappel_id;
        }

    }
     /**
     * Fonction permettant de modifier les rappels d'un essai
     * @return object $partenaire
     *
     */
    public function modifier ($rappel) {
		
        // instanciation de la factory
        $maFactory = jDao::get("commun~ao_essais_rappel");
        $records   = $maFactory->get($rappel['id']);

        $records->rappel_texte           = $rappel['content'];
        $records->rappel_typeId          = $rappel['rappel_typeId'];
        $records->rappel_essai_id        = $rappel['iId'];
        $records->fiabilite_id           = $rappel['id'];
        if ($maFactory->update($records)) {
            return $rappel['id'];
        }

    }
    /**
     * Fonction permettant de modifier les rappels d'un essai
     * @param int $essaiId
     * @param int $typeId
     * @return array $result
     *
     */
    public function chargeParEssaiId ($essaiId , $typeId) {
		$sql  = " SELECT * FROM ao_essais_rappel WHERE rappel_essai_id =".$essaiId;
		$sql .= " AND rappel_typeId =".$typeId;
		$sql .= " GROUP BY rappel_texte";

        $cnx = jDb::getConnection();

        $rs     = $cnx->query($sql);
        $res = array();
        while ($row = $rs->fetch()) {
            if ($row->rappel_texte) {
                $content = $row->rappel_texte;
                if($typeId == ESSAI_FIABILITE){
                    $filename = JELIX_APP_WWW_PATH . PATH_ESSAI_FIABILITE . 'guide' . $row->rappel_essai_id . '/' . $content;
                }else if($typeId == ESSAI_RAPPEL){
                    $filename = JELIX_APP_WWW_PATH . PATH_ESSAI_RAPPEL . 'guide' . $row->rappel_essai_id . '/' . $content;
                }else{
                    $filename = JELIX_APP_WWW_PATH . PATH_ESSAI_EQUIPEMENTS . 'guide' . $row->rappel_essai_id . '/' . $content;
                }
                $row->original = $row->rappel_texte;
                if (strpos($content, ".txt") !== false) {
                    //récupération du contenu du fichier et le mettre dans la variable ess_zChapeau x :gamme-porsche-1019663438.txt
                    jClasses::inc('commun~toolsFile');
                    if (is_file($filename)) {

                        $row->rappel_texte = str_replace('-', '<br />-',toolsFile::get($filename));
                        $row->rappel_texte = preg_replace('/\\n/', '<br />',toolsFile::get($filename));
                    }
                }
            }
            $res[] = $row;
        }

        return $res;
    }


       /**
     * Fonction permettant d'afficher fiabilité de modèle d'une gamme
     * @param int $essaiId
     * @param int $typeId
     * @return array $result
     *
     */
    public function getFiabiliteGamme ($iChapModele) {
		$sql  = " SELECT ER.* FROM ao_essais_rappel ER";
        $sql .= " LEFT JOIN  ao_essais_chapitre EC ON EC.fiabilite_id = ER.fiabilite_id"; 
        $sql .= " WHERE EC.chap_modele = ".$iChapModele;
        $sql .= " AND EC.rubrique_id IS NOT NULL GROUP BY chap_modele";
        //die();
        $cnx = jDb::getConnection();

        $rs     = $cnx->query($sql);
        $res = array();
        while ($row = $rs->fetch()) {
            if ($row->rappel_texte) {
                $content = $row->rappel_texte;
                    $filename = JELIX_APP_WWW_PATH . PATH_ESSAI_FIABILITE . 'guide' . $row->rappel_essai_id . '/' . $content;
                if (strpos($content, ".txt") !== false) {
                    //récupération du contenu du fichier et le mettre dans la variable ess_zChapeau x :gamme-porsche-1019663438.txt
                    jClasses::inc('commun~toolsFile');
                    if (file_exists($filename)) {
                        $row->rappel_texte = str_replace('-', '<br />-',toolsFile::get($filename));
                    }
                }
            }
            $res[] = $row;
        }

        return $res;
    }

     /**
     * Fonction permettant d'afficher fiabilité de modèle d'une gamme
     * @param int $essaiId
     * @param int $typeId
     * @return array $result
     *
     */
    public function getFiabilite ($iIdFiabilite) {
		$sql  = " SELECT ER.* FROM ao_essais_rappel ER";
        $sql .= " LEFT JOIN  ao_essais_chapitre EC ON EC.fiabilite_id = ER.fiabilite_id"; 
        $sql .= " WHERE ER.fiabilite_id = ".$iIdFiabilite;
        //die();
        $cnx = jDb::getConnection();

        $rs     = $cnx->query($sql);
        $res = array();
        while ($row = $rs->fetch()) {
            if ($row->rappel_texte) {
                $content = $row->rappel_texte;
                    $filename = JELIX_APP_WWW_PATH . PATH_ESSAI_FIABILITE . 'guide' . $row->rappel_essai_id . '/' . $content;
                if (strpos($content, ".txt") !== false) {
                    //récupération du contenu du fichier et le mettre dans la variable ess_zChapeau x :gamme-porsche-1019663438.txt
                    jClasses::inc('commun~toolsFile');
                    $row->rappel_texte = toolsFile::get($filename);
                    $row->rappel_texte = str_replace(".",".<br/>",$row->rappel_texte) ;
                }
            }
            $res[] = $row;
        }

        return $res;
    }

   
}